Make fewer assumptions about snapshots.txt format.
- Read the file into a nested dictionary instead of variables.
- Only apply special cases where they are really needed.
- Apply a transform to the triple argument to get the platform name to
determine whether there is a snapshot available for it.
- Apply a similar (but slightly different) transform to get the snapshot's
file name. It would be better if the file name matched the platform name
in snapshots.txt, but it's too late for that now (older versions of this
script will certainly expect the existing name format).